home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: MegaDisc / MegaDisc 15 (1990)(MegaDisc Digital Publishing)(AU)[WB][reissue].zip / MegaDisc 15 (1990)(MegaDisc Digital Publishing)(AU)[WB][reissue].adf / Programs / SetPointer (.txt) < prev    next >
AmigaBASIC Source Code  |  1989-12-27  |  2KB  |  130 lines

  1. CLS: PRINT "Enter the directory name where the Bmap files are stored?"
  2. INPUT path$
  3. IF path$="" THEN RUN
  4. colon = 0: l=LEN(path$)
  5. FOR i=1 TO l
  6. IF MID$(path$,i,1) = ":" THEN colon = i: i=LEN(path$)
  7. NEXT i
  8. IF colon < l AND colon <> 0 AND RIGHT$(path$,1) <> "/" THEN path$=path$+"/"
  9. IF colon = 0 AND RIGHT$(path$,1) <> ":" THEN path$=path$+":"
  10. CLS
  11.  
  12. DECLARE FUNCTION AllocMem& LIBRARY
  13. LIBRARY path$+"exec.library"
  14. LIBRARY path$+"intuition.library"
  15.  
  16. SCREEN 1,640,256,2,2
  17. WINDOW 2,"New Mouse Pointer",(0,0)-(617,190),22,1
  18. buff& = AllocMem&(68*4,2)
  19. CALL mouseinit
  20. PRINT "Press any key to see"
  21. PRINT "the next mouse pointer"
  22. FOR i = 0 TO 3
  23. CALL setmouse
  24. GOSUB waitkey
  25. NEXT i
  26. CALL FreeMem&(buff&,68*4)
  27. WINDOW CLOSE 2
  28. SCREEN CLOSE 1
  29. END
  30.  
  31. waitkey:
  32. WHILE INKEY$=""
  33. WEND
  34. RETURN
  35.  
  36. SUB mouseinit STATIC
  37.   SHARED buff&
  38.   RESTORE mousedata
  39.   FOR i=0 TO 135
  40.     READ value%
  41.     POKEW buff&+i*2,value%
  42.   NEXT i
  43. END SUB
  44.  
  45. SUB setmouse STATIC
  46.   SHARED buff&
  47.   SHARED i
  48.   offset& = 68*i
  49.   WINDOW OUTPUT 2
  50.   CALL SetPointer&(WINDOW(7),buff&+offset&,15,16,-8,-7)
  51. END SUB
  52.  
  53. mousedata:
  54. 'mouse one
  55. DATA 0,0
  56. DATA 256,256
  57. DATA 256,256
  58. DATA 256,256
  59. DATA 256,256
  60. DATA 896,0
  61. DATA 3168,0
  62. DATA 12312,0
  63. DATA 256,4096
  64. DATA 256,4096
  65. DATA 12312,0
  66. DATA 3168,0
  67. DATA 896,0
  68. DATA 256,256
  69. DATA 256,256
  70. DATA 256,256
  71. DATA 0,0
  72.  
  73. 'mouse two
  74. DATA 0,0
  75. DATA 256,0
  76. DATA 256,0
  77. DATA 256,0
  78. DATA 256,0
  79. DATA 256,0
  80. DATA 256,0
  81. DATA 256,0
  82. DATA -258,0
  83. DATA 256,0
  84. DATA 256,0
  85. DATA 256,0
  86. DATA 256,0
  87. DATA 256,0
  88. DATA 256,0
  89. DATA 256,0
  90. DATA 0,0
  91.  
  92. 'mouse three
  93. DATA 0,0
  94. DATA 0,1
  95. DATA 0,-32767
  96. DATA 0,-18751
  97. DATA 0,-1
  98. DATA 0,-18751
  99. DATA 0,-32767
  100. DATA 14016,-32767
  101. DATA 14016,-14017
  102. DATA 14016,-32767
  103. DATA 0,-32767
  104. DATA 13848,-18919
  105. DATA 13848,-1
  106. DATA 13848,-18919
  107. DATA 0,-32767
  108. DATA 0,-32767
  109. DATA 0,0
  110.  
  111. 'mouse four
  112. DATA 0,0
  113. DATA -32767,-32767
  114. DATA -14017,-14017
  115. DATA -32767,-32767
  116. DATA -14017,-14017
  117. DATA -32767,-32767
  118. DATA -14017,-14017
  119. DATA -32767,-32767
  120. DATA -14017,-14017
  121. DATA -32767,-32767
  122. DATA -14017,-14017
  123. DATA -32767,-32767
  124. DATA -14017,-14017
  125. DATA -32767,-32767
  126. DATA -14017,-14017
  127. DATA -32767,-32767
  128. DATA 0,0
  129.  
  130.